1. Field of the Invention
The present invention relates to a storage device management system, and more particularly to a storage device management system which allocates a destination of data to distributively store the data in a plurality of storage devices.
2. Related Art Statement
A video server is an apparatus which provides video data stored therein in real-time in response to individual requests from plural users. An exemplary video server is described in Nikkei Communication No. A144, Feb. 15, 1993: pp. 38-55. The video server can be applied to the VOD (Video On Demand) service and nonlinear video editing system. In these applications, requests for video data are generated asynchronously. Therefore, in one situation, single video data is simultaneously requested by plural users. In another situation, different kinds of video data are simultaneously and respectively requested by plural users. In order to deal with such multiple access situations and efficiently provide video data without interruption, the video server divides video data into unit blocks of a predetermined size, and distributes them among a plurality of storage devices mounted therein.
Various improvements have been made to video servers. There are two examples of such video servers as follows. One video server is disclosed in Japanese Patent Laid-Open No. 107425/1995. The other video server is described by D. James Gemmell in xe2x80x9cMultimedia Storage Servers: A Tutorial,xe2x80x9d Computer Vol.28 (1995) No. 5: pp. 40-49.
To perform distribution, the video server disclosed in Japanese Patent Laid-Open No. 107425/1995 first arbitrarily selects one of the storage devices by using random numbers. Next, the video server distributes one unit block of data into the selected storage device. The video server repeatedly performs the above-mentioned selection and distribution.
To perform the above-mentioned distribution, the video server described in Gemmell""s document selects one of the plural storage devices in accordance with a predetermined order. The video server then selects one of the unit blocks constituting the video data in an order from the start of the video data. Next, the video server distributes the selected unit block into the selected storage device. The video server repeatedly performs the above-mentioned selection and distribution.
When data is being distributed to the storage devices in the manner described in the above-described document by D. James Gemmell, for each data, an order of access to the storage devices is kept the same. Therefore, when requests are generated by plural users simultaneously, accesses to the same storage device are concentrated thereon. As a result, until an access to the storage device in compliance with a request is completed, the other accesses to the same storage device cannot be made, so that operations for the other requests are delayed. As a result, it takes a long time for a user to receive the requested data after sending out the request. Hence, the volume of data which is accessible in a unit of time decreases. Consequently, the volume of data (for example, the number of video programs) simultaneously retrieved from all of the storage devices become small.
Further, when requests for data with different access timings occur, the access timings of these requests eventually become equal even though the timings are first shifted in the video server side. Therefore, the above mentioned problems, such as the volume of data becoming small, may still occur. That is, shifting the access timings has little effect in such cases.
On the other hand, the video server of the above-mentioned Japanese Patent Laid-Open No. 107425/1995 determines destinations of the data by using random numbers. However, in some random numbers, there are some cases where units of blocks are sequentially distributed to the same storage device, and therefore, as mentioned above, the volume of data becomes small, the useable capacity of each storage device may vary, and thus the plural storage devices cannot be used in an efficient manner.
Also, for the next case, assume that the video server is provided with a plurality of storage devices each of which has respective different data access time intervals, capacity, and other performance characteristic, and that data is divided and distributed to each of the storage devices in the manner described in either of the above mentioned documents. In this case, the overall data access time interval, bandwidth, and the total stored data volume as a whole of the video server are dependent upon the particular storage device which has the lowest performance, and thereby the particular storage devices which have high performance cannot be used efficiently.
In comparing between a situation where a certain volume of data is divided and distributed to consecutive storage areas in the storage device and the situation where the data is divided and distributed to dispersed storage areas therein, the storage device can read out a larger volume of data over a designated time period from the consecutive storage areas than from the dispersed storage areas. Therefore, in a case where the video server is required to read a larger volume of data over a designated time period, the requests from a single user are processed sequentially by the video server even when requests have arrived from the plural users simultaneously. In this case, as is clear from the aforementioned description, the data to be read is preferably divided and distributed to consecutive storage areas of a single storage device. Therefore, due to the fact that the video servers disclosed in the above-mentioned two documents do not take into consideration the possibility of dividing and distributing data to consecutive storage areas of a single storage device as mentioned above, there are situations where the video servers disclosed in the two documents cannot process requests from users efficiently.
Therefore, a first object of the present invention is to provide a storage device management system capable of distributing data to a plurality of storage devices so as to deal with accesses from a plurality of storage devices without decreasing the volume of data read in a unit of time and to quickly respond to requests from users.
A second object of the present invention is to provide a storage device management unit capable of distributively storing data to a plurality of storage devices so that the same volume of data is stored in each storage device.
In accordance with an aspect of this invention, a storage device management system of distributively storing data-blocks, which data is divided into, as a unit for writing to a plurality of storage devices, wherein each of the storage devices is provided with a different first identifier, comprising: a first managing part for managing at least the first identifiers; a second managing part for managing an empty area of each of the storage devices using an address of each empty block into which the data-block can be written and the first identifier; and a destination determining part for determining destinations of the data, by creating a set of the first identifier and the address for each storage device by referring to the first and second managing parts and rearranging the created sets at random.
As described above, the storage device management system in accordance with this aspect determines destinations of data so that data is equally distributed to the plural storage devices. Therefore, when data is read, access does not concentrate on a specific storage device but is made equally to all storage devices. Thus, a sufficiently large volume of data can be obtained from all of the storage devices. As a result, the storage device management system can respond to read requests for data at high speed.
In accordance with another aspect of this invention, in a storage device management system of distributively storing data-blocks, which data is divided into, as a unit for writing to a plurality of storage devices divided into predetermined groups, each of the storage devices belonging to a same group is provided with a different first identifier, and each of the groups is provided with a different second identifier, comprising: a first managing part for managing at least the first identifiers and the second identifiers; a second managing part for managing an empty area of each of the storage devices using an address of each empty block into which the data-block can be written and the first and second identifiers; and a destination determining part for determining destinations of the data, wherein the destination determining part selects all or part of the groups by referring to the first and second managing parts; selects one storage device for each group at random so that the same storage device is not selected until all storage devices belonging to the group are selected; creates a set of the first and second identifiers and the address for each of the selected storage devices; and rearranges the created sets at random.
As described above, the storage device management system in accordance with this aspect determines destinations of data so that when the system manages plural storage devices which are divided into plural groups, the data-blocks composing data are equally distributed to each group and also to the storage devices belonging to each group. Therefore, a sufficiently large volume of data can be obtained from all the storage devices due to the fact that when reading of data is performed, access requests do not concentrate on the storage devices belonging to a specific group and in each storage device belonging to each group, and access requests are made equally to all groups and storage devices belonging to each group.
Further, like the previous aspect, the order of access to the storage devices when data written into the storage devices is read according to the above-described destination of data is different from the order for each of the other data. Therefore, the storage device management system can respond to the read request of data at high speed.
These and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of thee present invention when taken in conjunction with the accompanying drawings.